
import { axios } from "../../request/myAxios";

const params = {
  query: '',
  cid: '',
  pagenum: 1,
  pagesize: 10
}
let totalNums = 0;   //数据总条数
Page({

  /**
   * 页面的初始数据
   */
  data: {
    activeIndex: 0,
    goodsAllList: [],
    showtop: false,
    tabNavList: [
      {
        id: 1,
        name: "综合"
      },
      {
        id: 2,
        name: "销量"
      },
      {
        id: 3,
        name: "价格"
      }
    ]
  },
  changeActive(e) {
    const { index } = e.currentTarget.dataset;
    this.setData({
      activeIndex: index
    })

  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log("传递的参数", options);
    // 将传递的参数保存到params对象中
    params.query = options.query || '';
    params.cid = options.cat_id || '';
    // 获取商品数据
    this.getGoodsList();

  },
  getGoodsList() {
    axios({
      url: "/goods/search",
      method: "GET",
      data: params
    }).then(res => {
      console.log("商品列表的数据", res);
      let { total, pagenum, goods } = res;
      //这里是将后面第2页，3页...的数据加到goods中
      goods = [...this.data.goodsAllList, ...goods];
      // 将total和pagenum赋值给totalNums & params 
      totalNums = total;
      // params.pagenum = pagenum;
      this.setData({
        goodsAllList: goods
      })
      // 停止下拉刷新提示，否则小程序的下拉动画会一直存在
      wx.stopPullDownRefresh();
    })

  },
  // 上拉加载更多功能
  onReachBottom() {
    console.log("触底事件的触发")
    //如果数据的总页数大于当前的index，说明还有数据，否则就是没有数据了
    if (Math.ceil(totalNums / params.pagesize) > params.pagenum) {
      // pagenum加1
      params.pagenum++;
      //上拉加载显示加载图标
      wx.showLoading({
        title: '正在加载',
      })
      // 调用获取数据的函数
      this.getGoodsList();
      //隐藏加载图标
      setTimeout(function () {
        wx.hideLoading()
      }, 1000)

    } else {
      //这是最后一页
      return wx.showToast({
        title: '没有更多数据了',
        icon: 'none',
        duration: 1000,
      });
    }



  },
  //下拉刷新功能的实现
  onPullDownRefresh() {
    //将当前页置为1
    params.pagenum = 1;
    this.setData({
      goodsAllList: []
    })
    //  调用接口函数
    this.getGoodsList();
  },
  //返回顶部的功能
  onPageScroll({ scrollTop }) {
    this.setData({
      showtop: scrollTop >= 200 ? true : false
    })
  }


})